home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1996 April: Mac OS SDK / Dev.CD Apr 96 SDK / Dev.CD Apr 96 SDK1.toast / Development Kits (Disc 1) / OpenDoc Development Framework / ODFDev / ODF / Examples / Draw / Include / EditCmds.h < prev    next >
Encoding:
Text File  |  1995-11-08  |  2.5 KB  |  87 lines  |  [TEXT/MPS ]

  1. //========================================================================================
  2. //
  3. //    File:                EditCmds.h
  4. //    Release Version:    $ 1.0d11 $
  5. //
  6. //    Author:                Henri Lamiraux
  7. //
  8. //    Copyright:    © 1993, 1995 by Apple Computer, Inc., all rights reserved.
  9. //
  10. //========================================================================================
  11.  
  12. #ifndef EDITCMDS_H
  13. #define EDITCMDS_H
  14.  
  15. // ----- Part Layer -----
  16.  
  17. #ifndef FWEDCMD_H
  18. #include "FWEdCmd.h"
  19. #endif
  20.  
  21. //========================================================================================
  22. // Forward Declaration
  23. //========================================================================================
  24.  
  25. #if FW_LIB_EXPORT_PRAGMAS
  26. #pragma import on
  27. #endif
  28. class FW_CLASS_ATTR FW_CPrivOrderedCollection;
  29. #if FW_LIB_EXPORT_PRAGMAS
  30. #pragma import off
  31. #endif
  32.  
  33. class FW_CLASS_ATTR CDrawPart;
  34. class FW_CLASS_ATTR CDrawFrame;
  35. class FW_CLASS_ATTR CDrawSelection;
  36. class FW_CLASS_ATTR CDrawSubscribeLink;
  37. class FW_CLASS_ATTR CDrawLinkManager;
  38.  
  39. //========================================================================================
  40. // CDrawEditCommand
  41. //========================================================================================
  42.  
  43. class FW_CLASS_ATTR CDrawEditCommand : public FW_CEditCommand
  44. {
  45.   public:
  46.  
  47.     CDrawEditCommand(Environment *ev, 
  48.                      ODCommandID commandID,
  49.                      CDrawPart* part, 
  50.                      CDrawFrame* frame, 
  51.                      CDrawSelection* selection,
  52.                      FW_Boolean canUndo);
  53.  
  54.     virtual ~ CDrawEditCommand();
  55.  
  56.     // --- FW_CCommand overrides
  57.     virtual void UndoIt(Environment *ev);            // Override
  58.     virtual void RedoIt(Environment *ev);            // Override
  59.     virtual void CommitUndone(Environment* ev);    // Override
  60.     virtual void SaveUndoState(Environment *ev);    // Override
  61.     virtual void SaveRedoState(Environment *ev);    // Override
  62.     virtual void FreeUndoState(Environment *ev);    // Override
  63.     virtual void FreeRedoState(Environment *ev);    // Override
  64.  
  65.     // ----- FW_CEditCommand overrides -----
  66.     virtual void DoPaste(Environment *ev);    // Override
  67.     virtual void DoPasteAs(Environment *ev);    // Override
  68.  
  69.   private:
  70.     void SaveShapeSelection(Environment *ev);
  71.     void RemoveShapeSelection(Environment *ev);
  72.     void RestoreShapeSelection(Environment *ev);
  73.     void SelectSavedShapes(Environment *ev);
  74.     void DeleteSavedShapes(Environment *ev);
  75.  
  76.     CDrawLinkManager* GetDrawLinkManager(Environment* ev) const;
  77.  
  78.   private:
  79.     CDrawPart*            fDrawPart;
  80.     CDrawSelection*        fDrawSelection;
  81.     FW_CPrivOrderedCollection* fShapeCollection;
  82.     CDrawSubscribeLink*    fSavedLink;
  83. };
  84.  
  85.  
  86. #endif
  87.